Semiconductor memory device

ABSTRACT

A semiconductor memory device includes a memory block, a plurality of bit lines, a plurality of select gate lines, a plurality of word lines, and a controller. The memory block includes a plurality of memory strings, each memory string including a selection transistor and a plurality of memory cells. The plurality of bit lines are arranged in the first direction and connected to the respective memory strings. The plurality of select gate lines are arranged in the second direction and connected to gates of the respective selection transistors of the memory strings. The plurality of word lines are arranged in the third direction and connected to gates of the respective memory cells of the memory strings. The controller is configured to perform an erase operation in a unit of the memory block, and perform a sequence of erase verify operations.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a continuation of U.S. patent application Ser. No.16/238,390, filed on Jan. 2, 2019, which is a continuation of U.S.patent application Ser. No. 15/936,214, filed on Mar. 26, 2018, now U.S.Pat. No. 10,186,319, issued on Jan. 22, 2019, which is a continuation ofU.S. patent application Ser. No. 15/790,494, filed on Oct. 23, 2017, nowU.S. Pat. No. 9,928,916, issued on Mar. 27, 2018, which is acontinuation of U.S. patent application Ser. No. 15/444,274, filed onFeb. 27, 2017, now U.S. Pat. No. 9,818,487, issued on Nov. 14, 2017,which is a continuation of U.S. patent application Ser. No. 15/201,108,filed on Jul. 1, 2016, now U.S. Pat. No. 9,627,080, issued on Apr. 18,2017, which is a continuation of U.S. patent application Ser. No.14/833,515, filed on Aug. 24, 2015, now U.S. Pat. No. 9,412,458, issuedon Aug. 9, 2016, which is a continuation of U.S. patent application Ser.No. 14/686,694, filed on Apr. 14, 2015, now U.S. Pat. No. 9,147,494,issued on Sep. 29, 2015, which is a continuation of U.S. patentapplication Ser. No. 13/791,726, filed on Mar. 8, 2013, now U.S. Pat.No. 9,025,378, issued on May 5, 2015, which is based upon and claims thebenefit of priority from Japanese Patent Application No. 2012-196396,filed Sep. 6, 2012, the entire contents of each of the applications areincorporated herein by reference.

FIELD

Embodiments described herein relate to a semiconductor memory device.

BACKGROUND

It is known that a nonvolatile semiconductor storage device erases datain block units. Depending on configuration, the required time for anerase process operation, specifically the erase verify operation forsemiconductor memory devices is increasing along with the increasingcapacity of the devices. It would be beneficial to semiconductor memorydevice performance to reduce the time required for erase processoperations, including the erase verify operation.

DESCRIPTION OF THE DRAWINGS

FIG. 1 is a block diagram of a semiconductor memory device according toa first embodiment.

FIG. 2 is a perspective view of a portion of a memory cell arrayaccording to the first embodiment.

FIG. 3 is a cross-sectional view of a portion of the memory cell arrayaccording to the first embodiment.

FIG. 4 is a cross-sectional view of a cell transistor according to thefirst embodiment.

FIG. 5 is a circuit diagram of a portion of the memory cell array, asense amplifier, and a cache according to the first embodiment.

FIG. 6 is a circuit diagram showing an example of the cache according tothe first embodiment.

FIG. 7 is a drawing showing the correspondence of the cell status (i.e.cell threshold voltage) and the sense amplifier output according to thefirst embodiment.

FIG. 8 is a drawing showing the correspondence between cache data andthe verify determination result according to the first embodiment.

FIG. 9 is a drawing showing the sense amplifier output and the cachedata according to the first embodiment and an erase verify result.

FIG. 10 is a circuit diagram of a portion of the sense amplifier andcache according to the first embodiment.

FIG. 11 is a timing chart showing potentials in a portion of thesemiconductor memory device according to the first embodiment.

FIG. 12 is a flow chart of an erase operation in the semiconductormemory device according to the first embodiment.

FIG. 13 is a block diagram of the semiconductor memory device accordingto a second embodiment.

FIG. 14 is a timing chart showing potentials in a portion of thesemiconductor memory device according to the second embodiment.

FIG. 15 is a drawing illustrating a sense amplifier output the cachedata and erase verify result according to the second embodiment.

FIG. 16 is a comparison of the number of accumulated fail bits and thethreshold according to the second embodiment.

FIG. 17 is a flow chart of an erase operation of the semiconductormemory device according to the second embodiment.

FIG. 18 is a flowchart of a first modified example of erase operation inthe semiconductor memory device according to the second embodiment.

FIG. 19 is a flow chart of a second modified example of an eraseoperation in the semiconductor memory device according to the secondembodiment.

FIG. 20 is a drawing illustrating a semiconductor memory device systemaccording to a third embodiment.

FIG. 21 is a drawing illustrating an erase operation in thesemiconductor memory system according to the third embodiment.

FIG. 22 is a drawing showing combinations of results from multipleverify operations according to the third embodiment.

FIG. 23 is a flow chart of the first string erase verify operationaccording to the third embodiment.

DETAILED DESCRIPTION

The present disclosure describes a semiconductor memory device with areduced erase time. In general, according to one embodiment, thisembodiment will be explained with reference to the drawings. Theconstituent elements having the approximately same functions andconfigurations will be given the same notations, and duplicateexplanation will be provided only when necessary. In addition, eachembodiment described below exemplifies the device and method to embodythe technical idea of this embodiment; the technical idea of thisembodiment is not limited to the following component material, forms,configurations, dispositions or the like. The technical idea of thisembodiment can be modified into various modifications within the scopeof the claims.

According to an embodiment, a semiconductor memory device has a memoryblock including memory strings with a first selection transistor on afirst end and a second selection transistor on a second end. A bit lineis connected to the first selection transistor of each memory string anda sense amplifier is connected to each bit line. The memory blockincludes word lines connected to each memory cell transistor in thememory strings. The memory device also includes a controller to controlan erase operation that includes applying an erase voltage to the wordlines, addressing a first memory string by applying a selection voltageto a gate electrode of the first and second selection transistor of thefirst memory string, then applying an erase verify voltage to the wordlines and using the sense amplifier to read data of memory celltransistors in the first memory string, then addressing a second memorystring in the memory block without first discharging the word lines.

The semiconductor memory device includes multiple memory units,according to one embodiment. Each memory unit includes, connected inseries between first and second terminals, a first transistor, multiplememory cell transistors, and a second transistor. Control gateelectrodes of the memory cell transistors are commonly connected withthe control gate electrode of corresponding memory cell transistorswithin each of the multiple memory units (e.g., the first memory cell inthe series of multiple memory cells in a memory unit is connected to thecontrol gate electrode of the first memory cell of the other memoryunits). The bit line is commonly connected to the first terminal of eachthe multiple memory units. The source line is commonly connected to thesecond terminal of the multiple memory units. The sense amplifier sensesand amplifies the current or the voltage of a bit line upon receivingthe enable signal. The enable signal is used for more than twice duringthe erase verify while the voltage is applied, for the purpose of eraseverify, to the control gate electrode after the signal instructing theerase of data in multiple memory cell units has transitioned to aninvalid logic.

First Embodiment

Each function block is capable of being realized using either hardwareor computer software, or a combination of both. For this reason,explanation will be given below in terms of their functionality ingeneral so that it will become clear that each block can be either ofthose mentioned above. Such function, whether it would function ashardware or software, depends on a specific embodiment or designconstraints imposed on the overall system. A person skilled in the artcan produce these described functions using various methods for eachembodiment; however, both software and hardware implementations (andcombinations thereof) are to be considered included within the scope ofthe embodiments. Also, it is not necessary to separate (segment) each ofthe function blocks as described in the following examples. For example,a portion of the function may be executed in a function block differentfrom the function block described in the following explanation.Furthermore, the example function block may be divided into a smallerfunction sub-block. The embodiments are not intended to be limited toimplementation in discrete functional blocks or in a block asspecifically attributed in the example embodiments.

FIG. 1 is a block diagram of the semiconductor memory device accordingto the first embodiment. As shown in FIG. 1, the semiconductor memorydevice 100 has multiple memory cell arrays 1. The memory cell array 1includes multiple blocks (memory blocks). Each block includes multiplememory groups, word lines, bit lines, and the like. Each memory group isa collection of strings that have multiple memory cells (memory celltransistors) connected in series. Of course, there is no restriction onthe number of blocks in the memory cell array 10 and the number of thememory groups in each of blocks BLK. Each memory group is composed of aplurality of strings arranged in X direction of FIG. 2.

Pages are constructed from multiple memory cells connected to the sameword line in a certain memory group of a certain block BLK. The data istypically read or written as page units and erased as block units. Adefinition of the pages is not limited as above description. Pages maybe constructed from multiple memory cells connected to the same wordline.

The memory cell array 1 has multiple strings. The string includesmultiple memory cell transistors connected in series, and drain-sideselect gate transistors and source-side select gate transistors ateither end. Each bit line is connected to multiple strings. Thefollowing explanation pertains to an example in which one bit line isconnected to eight strings. A number of other connections are alsopossible. In such cases, related description can be substituted asappropriate.

A row decoder 2 receives a row address signal ROWADD, a signal RDEC, SGD[7:0], SGS [7:0], CG [7:0], and so on. Also, the row decoder 2 selectsone block, one string, and one word line based on these received signalsfor example. The signal RDEC is a signal for enabling the row decoder 2.Signals SGD and SGS select one drain-side select gate transistor and onecorresponding source-side select gate transistor, respectively.

The sense amplifier and the cache 3 sense and amplify the current or thevoltage on the bit line, and include cache 0 and cache 1. Cache 0 andcache 1 temporarily hold data read from the memory cell array 1 or datato be written to the memory cell array 1, as well as other data. Thesense amplifier and the cache 3 further include a logic circuit thatwill be more fully described later.

The sense amplifier and the cache 3 receive signals LTRS, UTRS, STBn andBITSCAN. Among the signal names, signal n refers to the valid logic ofthis signal being at a low level. For example the signal STBn is aninverted signal of the signal STB. Signals LTRS and UTRS control datainput or output of cache 0 and cache 1, respectively. Signal STBninstructs the enablement of the sense amplifier. Signal BITSCANinstructs the operation of a bit scan process. The sense amplifier andcache 3 output signal PFBUS. Signal PFBUS holds information about anumber of fail bits within one page.

Charge pump 4 generates a necessary voltage for various operations ofthe semiconductor memory device 100, and supplies this voltage to therow decoder 2 as well as the sense amplifier and cache 3. A verifycircuit 5 determines whether or not writing and erase have been properlyexecuted. Specifically, the verify circuit 5 receives signal F_NF andsignal PFBUS.

The signal F_NF indicates a fail acceptable number for one page. Theverify circuit 5 compares the signal PFBUS with the number of the signalF_NF. After that, the verify circuit 5 determine whether or not writingand erase have been properly executed. The comparison results are heldin a status register 5 a in the verify circuit 5. The status register 5a is used during erase and writing in addition to the comparisonresults.

The control register 6 controls the charge pump 4. The control register7 controls row system such as row decoder 2 and the like, and outputssignals RDEC, SGD and SGS as a result. The control register 8 controlscolumn addresses, cache, sense amplifier, cache 3 and the like, andoutputs signals LTRS, UTRS, STBn, and BITSCAN for that purpose.

A CG driver 9 receives signals SGD and SGS, string address signalSTRADD, and row address signal ROWADD, and generates signals SGD [7:0],SGS [7:0], and CG [7:0]. The notation “[7:0]” in SGD [7:0] and SGS [7:0]are used to indicate a selection of any of the specific strings in thecell array (here, string 0, string 1, . . . string 7) and The notation“[7:0]” in CG [7:0] is used to indicate a selection of any of thespecific cells within a string (here, cell 0, cell 1, . . . cell 7)corresponding to a specific word line. The number of strings and cellswithin a string need not equal eight and need not equal one another.

The CG driver 9 generates signal SGD [7:0] in order to select thedrain-side select gate transistor from signal STRADD and signal SGD. Inaddition, the CG driver 9 also generates signal SGS [7:0] in order toselect the source-side select gate transistor from signal STRADD andsignal SGS. Furthermore, the CG driver 9 generates signal CG [7:0] inorder to select one word line from row address ROWADD.

A state machine (controller) 10 receives commands as well as signalsROWADD, COLADD, STRADD, and PB. The state machine (controller) 10interprets the commands and controls control registers 6, 7, and 8 basedon the interpretations and the received signals. It is responsible forcontrolling reading, writing, erasing and so on.

A first buffer 11 receives control signals, such as chip enable signalCEnx, write enable signal WEnx, read enable signal REnx, command latchenable signal CLEx, address latch enable signal ALEx, and write protectsignal WPnx from outside of the semiconductor memory device 100. Anotherfirst buffer 12 receives signal IOx<7:0>. Signals IOx are, for example,input signals related to addresses, data, command codes, or the like.

The command decoder 13 decodes signals received from the first buffers11 and 12 and obtains commands by decoding the received signals. Thecommands are supplied to the state machine (controller) 10. Also, thecommand decoder 13 outputs signal (command) CMD_STATUS.

The address buffer 14 decodes signals received from the buffer 11 and12, and generates address signals ROWADD, COLADD, STRADD, and PB basedon the results of the decode and the control by the state machine(controller) 10. The register 15 holds the value for defining thedetails of the operation of the semiconductor memory device 100. Theregister 15 outputs signal F_NF. Signal F_NF is supplied to the verifycircuit 5.

The data buffer 16 decodes the signals received from the buffers 11 and12, and obtains the written data YIO based on the decoded signals. Theoutput buffer 17 temporarily holds data to be output from thesemiconductor memory device 100, and supplies to the data to the buffer12. Based on signal CMD_STATUS, the select circuit 18 supplies to theoutput buffer 17 the data received from the sense amplifier and cache 3or status signal STATUS received from the status register 5 a.

The memory cell array 1 has a configuration shown in FIG. 2 and FIG. 3.FIG. 2 is a perspective view of a portion of the memory cell arrayaccording to the first embodiment. FIG. 3 is a cross-sectional view of aportion of the memory cell array according to the first embodiment. FIG.2 shows two strings. FIG. 3 shows eight strings placed along the surfaceof YZ. As an example, one block contains eight strings.

Circuit regions CU are provided on the surface of the substrate sub, asshown in FIG. 2. The row decoder 2, sense amplifier and cache 3, as wellas the charge pump 4, the state machine (controller) 10 and others canbe formed on these circuit regions CU. Aback gate BG made of conductivematerials is formed above the circuit region CU. The back gate BGextends along the XY plane above the circuit region CU. Also, multiplestrings Str are formed above the substrate sub. FIG. 2 shows an examplewhere each string Str contains memory cell transistors MTr0-Mtr15. Whenthere is no need to alternately distinguish the reference numbers with adigit at the end (for example, cell transistor MTr), the descriptionthat omitted the digit located at the end of the reference numbers willbe used, and this description will be used to refer to the referencenumbers containing all of the subscripted reference numbers. In thisexample, cell transistors Mtr7 and MTr8 are connected via the back gatetransistor BTr. The source-side select gate transistor SSTr and thedrain-side select gate transistor SDTr are connected to the celltransistors MTr0 and Mtr15 in series, respectively. The source line SLand the bit line BL are extended on top of the transistors SSTr andSDTr, respectively. The transistors SSTr and SDTr are connected to thesource line SL and the bit line BL, respectively.

Cell transistors MTr0-MTr15 include a semiconductor pillar SP and aninsulating film IN2 on the surface of the semiconductor pillar SP (shownin FIG. 4), and also include word lines (control gates) WL0-WL15extended along the x axis. Word lines WL0-WL15 are connected to acorresponding CG line CG (CG lines CG0-CG15), depending on the rowdecoder 2. The insulating film on the surface of the semiconductorpillar SP includes a block insulating film IN2 a, a charge trap layerIN2 b including insulating material, and a tunnel insulating film IN2 c,as shown in FIG. 4. Cell transistor MTr stores data in a nonvolatilemanner based on the numbers of charge carriers within the charge traplayer IN2 b.

Returning to FIG. 2 and FIG. 3, the semiconductor pillar SP is made ofsilicon above the back gate BG. The two semiconductor pillars SP thatconstitute one string Str are connected by a pipe layer made from theconductive material within the back gate BG, and the pipe layerconstitutes the back gate transistor BTr. Each word line WL is shared bymultiple cell transistors MTr arranged along the x axis. A group ofmultiple cell transistors MTr connected to the same word line WL in acertain memory group constitutes a page. One page, for example, has asize of 8 Kilobytes.

The select gate transistors SSTr and SDTr include the semiconductorpillar SP, the gate insulating film (not shown in the drawing) of thesurface of the semiconductor pillar SP, and further include the gateelectrodes (select gate line) SGSL and SGDL, respectively. Each gateelectrode SGSL is shared by multiple transistors SSTr arranged along thex axis. Each gate electrode SGDL is shared by multiple transistors SDTrarranged along the x axis. The select gate lines SGSL0-SGSL7 belong tothe strings Str0-Str7, respectively. The select gate lines SGDL0-SGDL7belong to the strings Str0-Str7, respectively. Each source line SL isconnected to multiple transistors SSTr. The source lines SL within oneblock are mutually connected. A single bit line BL is connected tomultiple select gate transistors SDTr via a plug. Two adjacent stringsStr share a source line SL.

The spaces shown in FIG. 2 and FIG. 3 in which elements are not providedare embedded by the insulating film. The word line WL, the select gatelines SGSL and SGDL selected by the row decoder 2 are driven by the CGdriver 9.

Although it is not shown in FIG. 2 and FIG. 3, the word lines having thesame number that belong to different strings Str within 1 block (forexample, word line WL0 of the string Str0 and the word line WL0 of thestring Str7) are electrically connected. On the basis of thisconfiguration, the time taken for charge and discharge of the word linesWL is longer than the time for charge and discharge the word lines WLnot connected in this manner.

FIG. 5 is a circuit diagram of the memory cell array 1, as well as aportion of the sense amplifier and cache 3. As shown in FIG. 5, multiplestrings Str (only 3 are shown) are connected between a single bit lineBL and source line SL. The word line WL0 is shared by all the stringswithin one Block. Word lines WL1-WL7 are also similarly shared.

The bit line BL is connected to the sense amplifier SA in in the senseamplifier and the cache 3. The sense amplifier SA receives the senseamplifier enable signal STBn as described above. The output SAOUT of thesense amplifier SA is supplied to the logic circuit L. The logic circuitL receives the signals LTRS, UTRS, and BITSCAN described above. Thelogic circuit L performs a variety of logical operations, which will bedescribed later, for the signals received. The output of the logiccircuit L is connected to the data bus DBUS. The logic circuit L isadditionally connected to the signal line PFBUS. The data that is outputto the signal line PFBUS will be described later.

The data bus DBUS is connected to the cache LDL and the cache UDL. Thecache LDL and the cache UDL receive signals LTRS and UTRS, respectively.The signals LTRS and UTRS of the valid logic enable the cache LDL andUDL, respectively. The data bus DBUS transports the data to the databuffer 16 and data from the data buffer 16 of FIG. 1.

Cache LDL and UDL each have the configuration of, for example, FIG. 6.FIG. 6 is a circuit diagram that shows an example of the cachepertaining to the first embodiment. As shown in FIG. 6, a p-type MOSFET(Metal Oxide Semiconductor Field Effect Transistor) TP1, n-type MOSFETTN1 are connected in parallel. One end of the parallel connectionstructure is connected to the data bus DBUS, and the other end isconnected to the input of inverter IV1 and the output of inverter IV2.The output of inverter IV1 and the input of inverter IV2 are connected,and function as a storage node LAT. The gate of the transistor TN1receives the signal LTRS (or UTRS). The gate of the transistor TP1receives the signal /LTRS (or /UTRS). The signal [/] means negativelogic. The caches LDL and UDL have the same configuration and areinterchangeable. One of them is used in the first embodiment, and theother is used in the second embodiment. In the following descriptions,for the sake of convenience, the cache LDL is used in the firstembodiment, but as stated cache LDL is interchangeable with cache UDL.

The structure shown in FIG. 5 is provided for each of the bit lines.

FIG. 7 illustrates the relationship between the threshold voltage of thecells (the cell status) pertaining to the first embodiment and theoutput SAOUT of the corresponding sense amplifier. Generally, eraseoperation includes applying an erase voltage (pulse) to the cell. As aresult, the threshold voltage of the cell shifts from a write level toan erase label (from a level higher than the erase level to a levelbelow the erase level. Also, generally, erase operation includes anerase verify for the cells that are to be erased, and erase verifychecks the change of threshold voltage of the cells associated witherase (being erased). The change in the threshold voltage of the cellsis detected through the detection of the output SAOUT becoming 0 from 1,after the erase pulse is applied. The configuration of the senseamplifier SA may be any configuration as long as it is able to detectthe status of the bit line BL during which the signal STBn, whichindicates the start of the sense of the sense amplifier SA, is a validlogic (for example, low level). The potential of the output SAOUT ismaintained by the sense amplifier SA, even after the end of the sensestep. The erase verify, for example, is carried out per string Str. Thatis, for each string Str, a cell current or a voltage of the bit line BLis sensed in the state wherein the transistors SSTr and SDTr are turnedON, and all the word lines WL are driven to a predetermined potential.

FIG. 8 illustrates the corresponding relationship between the data beingheld in the cache LDL (or UDL) and the determination results of eraseverify pertaining to the first embodiment. As described above, the cacheLDL holds the data output to the data bus DBUS from the logic circuit L.During erase verify, the logic circuit L outputs the data to the busDBUS, on the basis of the result of the logical operations based on theoutput SAOUT. As shown in FIG. 8, for example, the fact that the cacheLDL holds 1 or 0, means that erase verify pass or verify fail,respectively, for the corresponding bit line BL. Usually, pass and failof erase verify are determined in page units.

In erase operation, application of an erase pulse and multiplerepetitions of erase verify are included. The results of erase verifyare accumulated for each string. That is, the data representing theresult of a certain erase verify is held in the cache LDL, and using thedata being held and the sense amplifier output in the subsequent eraseverify, the result of the concerned subsequent erase verify can beobtained. The data representing this obtained result is stored in thecache. These steps are repeated. FIG. 9 illustrates the sense amplifieroutput SAOUT during erase verify and, the data being held in the cacheLDL, and the erase verify result based on these. FIG. 9 shows the finalstate of the cache LDL stored in accordance with the logical state ofthe sense amplifier output SAOUT. When the threshold voltage of memorycells in this time is equal to or lower than erase verify level, thatis, when the output SAOUT is “0”, data “1” (pass) is stored in the cacheLDL. On the other hand, when the threshold voltage of memory cells inthis time is lower than erase verify level, that is, when the outputSAOUT is “1”, data “0” is stored in the cache LDL. The logicaloperations with this output SAOUT and the cache LDL are carried out bythe logic circuit L. Since erase verify will be carried out with thecache LDL being initialized to “1”, the case wherein the cache LDL willstart from “0” will be omitted.

The relationship between the results and data of erase verify of FIG.7-FIG. 9 is only an example. For example, the data to be stored in thecache LDL in the initial state may also be “0”. It is possible to adoptan arbitrary erase verify in the first embodiment. The first embodimentis not limited by the details of erase verify operation.

FIG. 10 is a circuit diagram that shows a portion of the sense amplifierand cache 3 pertaining to the first embodiment. FIG. 10 shows theportions within the sense amplifier and cache 3 of FIG. 5 for one page.As shown in FIG. 10, in each of the bit lines BL0-BLi-1, a portion ofthe sense amplifier and cache 3 shown in FIG. 5 are provided. Here, i isa natural number and corresponds to the number of the bit lines in onepage. The output of the sense amplifier related to the bit linesBL0-BLi-1 is supplied to each logic circuit L, and each of their outputdata is output as DBUS0-DBUSi-1. The signal line PFBUS is connected incommon. The logic circuits L output the fail or pass results for the bitlines BL to which each logic circuit L is connected using the signalline PFBUS, and are configured so that the number of fail bits of onepage are output to the signal PFBUS. The signal PFBUS is supplied to theverify circuit 5 as described above.

FIG. 11 is a timing chart of nodes in the semiconductor memory deviceaccording to the first embodiment. Specifically, FIG. 11 shows thetiming chart during erase verify of the first embodiment, and representsa certain block that is to be erased. The operation of FIG. 11 is, forexample, executed through a state machine (controller) 10 that controlsthe control registers 6, 7, and 8.

As shown in FIG. 11, at time t0, the signal erase transitions from ahigh level to a low level. A high level of the signal erase indicatesthat the semiconductor memory device 100 is in the midst of applicationof the erase pulse, that is, it is in a state in which the voltagenecessary for erase is being applied in the block to be erased. Duringthe signal erase is high level, the operations necessary for the voltageboost and discharge by the charge pump 4 are also included. Also, attime t0, the signal evfy will become high level (valid logic). Thesignal evfy of high level indicates the fact that the semiconductormemory device 100 is in the midst of an erase verify read. The eraseverify is a part of erase operations, and follows the application of theerase pulse. The erase verify includes applying the erase verify voltageto all the word lines WL within the block to be erased, confirming thestatus of the threshold voltage of the memory cells to be erased,confirming the sense amplifier output signal SAOUT in the state wherethe sense amplifier and cache 3 is activated, and storing the signalSAOUT to the cache LDL. For the block to be erased, these types ofoperations are carried out, in sequence, for each of the stringStr0-string Str7. The erase verify will be described in detail below.

The times t0-t4 are the periods for erase verify of the string Str0.Therefore, during time t0-t4, the string address signal STRADD is set toa value that selects the string Str0. Also, before time t0, all of theCG lines CG are charged to the erase verify voltage Vevfy. Along withthe erase verify start of time t0, the row decoder enable signal RDECbecomes a high level (valid logic). As a result, the potential of the CGline CG is transferred to the corresponding word line WL, and from timet0 the word line WL is charged to the erase verify voltage Vevfy. Also,at time t0, the SG lines SGD and SGS shift to a high level. Since thesignal STRADD has selected the string Str0, the potential of the highlevel SG lines SGD and SGS is transferred to the select gate lines SGDL0and SGSL0 of the string Str0. Also, the cache LDL is initialized at timeto. As a result, all the caches LDL hold the data “1”.

After time t0, a predetermined setup time is required to stabilize wordline voltage or another internal node voltage. After that, the signalSTBn becomes a low level (valid logic). The signal STBn of valid logicenables each sense amplifier SA. After the start of operation of eachsense amplifier SA, the signal STBn keeps low level, then the signalSTBn returns to a high level at time t1. As a result, at time t1, eachsense amplifier output SAOUT is fixed. Furthermore, cache UDL is notused in the first embodiment, but it is instead used in the secondembodiment described later.

Next, the signal LTRS will become a high level (valid logic), and thedata within each cache LDL can be read out. Each of this read out data,along with the corresponding sense amplifier output SAOUT, is logicallyoperated by the corresponding logic circuit L. That is, for each of thebit lines BL0-BLi-1, logical operations are performed for the outputSAOUT and data of the cache LDL. The logical operations are as describedabove, with FIG. 9 as a reference. The operation results according toeach logic circuit L are stored in the corresponding cache LDL. The datastored in LDL is fixed when the signal LTRS becomes a low level(disable) at time t2.

Next, a check for the data in the cache LDL is performed. That is, thenumber of fail bits will be counted. This check includes thedetermination of whether the result of erase verify read (that is, thedata within the cache LDL) has padded or not. In other words, this checkincludes that the fail bits in the cache LDL is less than thepredetermined value or not. The predetermined value means, for example,the number of fail bits allowed per one page or per one block. For thecheck, at time t3, the signal failscan becomes a high level (validlogic). The signal failscan is an internal signal of the state machine(controller) 10, and is the same signal as the signal BITSCAN, and thesignal failscan of valid logic indicates a bit scan operation. Also, attime t3, the SG lines SGD and SGS and the signal evfy become a low level(invalid logic).

On the other hand, the signal RDEC is maintained at a high level evenafter time t3. As a result, the word line WL is connected to the signalCG line. In other words, the potential of the signal CG line CG (theerase verify voltage Vevfy) continues to be transferred. Thus, thedischarge and recharge of the word line WL will be unnecessary for theerase verify of the subsequent string Str1. As described above, the factthat the word line WL is shared amongst different strings Str is beingutilized.

Also, at time t3, the signal LTRS becomes a high level, and as a result,the data of each cache LDL is received by the corresponding logiccircuit L. Furthermore, at time t3, the signal BITSCAN becomes a highlevel (valid logic). As a result, each logic circuit L outputs the datathat indicates the number of fail bits to the signal line PFBUS. In thiscase, the number of fail bits indicates the one for the string that isto be checked, Str0.

The number of fail bits is notified to the verify circuit 5. The verifycircuit 5 compares the number of fail bits with a threshold valueindicated by the signal F_NF received from the register. When the numberof fail bits is lower than the threshold value, the verify circuit 5sets the status of the fact that it has passed to the status register 5a. On the other hand, when the number of fail bits is greater than orequal to the threshold value, the verify circuit 5 sets the statusindicating that a string has failed to the status register 5 a. In thisway, the erase verify of the string Str0 is complete. In accordance withthis, at time t4, the signals failscan, BITSCAN, and LTRS will becomelow level. FIG. 11 shows an example where the erase verify in the stringStr0 has passed.

The state machine (controller) 10 receives the status signal for thestring Str0, and recognizes that the erase verify in the string Str0 haspassed, and then, executes the erase verify of the string Str1. Theerase verify of the string Str1 is the same as the erase verify of thestring Str0, except for the string address. That is, during time t4 totime t8, the string address signal STRADD is set to a value that selectsthe string Str1. At time t4, the signal evfy becomes a high level, anderase verify starts. Also, at time t4, SGD and SGS set to a high level.As a result, the select gate lines SGDL1 and SGSL1 of the string Str1become a high level. Furthermore, at time t4, the cache LDL getsinitialized.

As described above, continuing from the erase verify of the string Str0,the signal RDEC maintains a high level. In other words, the word line WLis connected to the CG line CG, the erase verify voltage Vevfy istransferred to the word line WL. For this reason, the time to charge theword line WL is unnecessary for the erase verify of Str1.

Next, at time t5 to time t8, the same operations as the operations attime t1 to t4 are carried out, respectively. As a result, the number offail bits for string Str1 is output on the signal PFBUS. FIG. 11 showsan example where the string Str1 has failed in erase verify. The statemachine (controller) 10 recognizes that erase verify in the string Str1has failed, and prepares to reapply the erase pulse to the block to beerased. On that account, at time t8, the row decoder signal RDEC becomesa low level, and the string address signal STRADD will become a valuethat does not select any string Str. As a result, the word line WL isdisconnected to the CG line CG, and the word line WL begins to dischargefrom the erase verify voltage Vevfy.

Next, the erase pulse is applied from time t9. On that account, thesignal erase becomes a high level. After the application of the erasepulse, similar to the steps from time to, erase verify is carried outonce again.

In this manner, until the string erase verify is failed, the signal RDECmaintains a high level, and consequently the word line WL maintains theerase verify voltage Vevfy, and the sense amplifier enable signal STBnfor the erase verify of the strings becomes a valid logic sequentially.

FIG. 12 is a flow chart of the erase of the semiconductor memory devicepertaining to the first embodiment. Similar to FIG. 11, the flow of FIG.12 is executed, for example, through a state machine (controller) 10that controls the control registers 6, 7, and 8.

As shown in FIG. 12, the state machine (controller) 10 initializes thestatus register 5 a in the verify circuit 5 (step S1). In step S2, thestate machine (controller) 10 applies an erase pulse to the block to beerased. Step S2 corresponds to the period during which the signal eraseof FIG. 11 is at a high level. In step S3, the signal for specifying thestring address is initialized. In fact, the string address signal STRADDis set to 0. In FIG. 12, the parameter N that specifies the stringaddress is set to 0. N is a natural number from 0 to 7 (number ofmaximum string), for example.

In step S4, the state machine (controller) 10 carries out the eraseverify read for the string StrN. Step S4 corresponds to the periodduring which the signal evfy of FIG. 11 is at a high level, and asdescribed above, includes read out of data from the cells, sense,logical operations with each of the sense amplifier outputs SAOUT andthe data within the corresponding caches LDL, and storage of the logicaloperations results to each of the caches LDL. Next, in step S5, thestate machine (controller) 10 counts the number of fail bits for thestring StrN. Next, in step S6, the state machine (controller) 10compares the number of fail bits with the threshold value. Steps S5 andS6 correspond to the period during which the signal BITSCAN of FIG. 11is at a high level, and as described above, include the output of thenumber of fail bits to the signal PFBUS, comparison of the number offail bits with the threshold value, and the storage of the comparisonresult to the status 5 a.

If the decision at step S6 is a Yes, erase verify is carried out for thenext string Str. Specifically, first, in step S7, the state machine(controller) 10 determines whether erase verify has been completed forall the strings Str. More specifically, the state machine (controller)10 determines whether the string Str, for which erase verify is carriedout in step S4, is the last string. In this example, the state machine(controller) 10 confirms whether N is 7 or not. If the decision of stepS7 is a Yes, this means that erase verify has been completed for all thestrings Str, and the flow ends. If the decision of step S7 is a No, theflow goes to step S8. In step S8, the state machine (controller) 10increments N by 1. That is, the state machine (controller) 10 incrementsthe signal STRADD by 1. After step S8, the flow returns to step S4.

When the decision at step S6 is a No, the flow goes to step S9. In stepS9, the state machine (controller) 10 checks as to whether therepetition number of the erase and the erase verify has exceeded thethreshold value (upper limit). As described above, if a certain stringStr fails erase verify, erase (erase pulse application) will be carriedout again. However, an upper limit of the repetition number of erase anderase verify is usually set. When the repetition number of erase anderase verify becomes to the upper limit during erase operation, it istreated as a block erase fail. Therefore, the state machine (controller)10 stores the erase count for the block to be erased in registers, etc.,and compares the stored value with the threshold value in step S9. Whenthe decision at step S9 is a No, the flow goes to step S10. In step S10,the state machine (controller) 10 prepares to reapply the erase pulse tothe block to be erased. This preparation includes, for example thedischarge of the word line WL as described above, and corresponds to theoperations from time t8 of FIG. 11. After step S10, the flow returns tostep 2.

When the decision at step S9 is a Yes, the flow goes to step S11. Instep S11, the state machine (controller) 10 sets fail in the statusregister 5 a to indicate that the block to be erased has failed.Subsequently, erase of selected specific block ends.

As described above, according to the semiconductor memory devicepertaining to the first embodiment, after the erase verify read for acertain string Str, the word line WL maintains the erase verify voltageVevfy. For this reason, the discharge of the word line WL for the eraseverify of the subsequent string Str and the recharge towards eraseverify are unnecessary. The discharge of the word line WL will beexecuted, when erase verify fails and erase is carried out again. As aresult, especially, when each string erase characteristics is similarand when the erase verify for each string has passed, the time for eraseoperation (erase and erase verify) is shorter than the conventional way.

Second Embodiment

In the first embodiment, the number of fail bits is counted per string.On the other hand, in the second embodiment, the number of fail bitsaccumulated across all the strings will be counted.

FIG. 13 is a block diagram of the semiconductor memory device pertainingto the second embodiment. FIG. 13 is similar to the first embodiment(FIG. 1), but several components have been added to FIG. 1. As shown inFIG. 13, the register 15 additionally maintains two threshold valuesF_BSPF, F_BSPF ACLU, and this output signals F_BSPF and F_BSPF ACLU. Thesignals F_BSPF and F_BSPF ACLU are received by the select circuit 19.The select circuit 19 outputs one of the signals F_BSPF and F_BSPF ACLUas the signal F_NF, according to the control of the state machine(controller) 10. The signal F_NF is received by the verify circuit 5,the same as in the first embodiment. The threshold value F_BSPF is sameas F_NF represented in the first embodiment. That is, it is a thresholdvalue used in counting the number of fail bits. On the other hand, thethreshold value F_BSPF ACLU is a threshold value used in counting thenumber of fail bits accumulated across all the strings. The thresholdvalue F_BSPF and the threshold value F_BSPF ACLU are typicallydifferent.

The verify circuit 5 has an additional status register 5 b. The statusregister 5 b stores the results of accumulated string erase verify. Theresult within the status register 5 b is supplied to the state machine(controller) 10 as the signal STATUS_STR. The signal STATUS_STR is alsosupplied to the select circuit 18. Upon receiving the signalCMD_STATUS_STR from the command decoder 13, the select circuit 18supplies the signal STATUS_STR to the output buffer 17. The outputbuffer 17 outputs the received signal STATUS_STR from the semiconductormemory device 100. FIG. 13 depicts an example where one of the signalSTATUS and the signal STATUS_STR is output. However, a separate IO portmay be provided in addition to the input output port IO connected to thefirst buffer 12, and the signals STATUS and STATUS_STR may be outputsimultaneously from each of those IO ports. The components other thanthe components described for the second embodiment are the same as inthe first embodiment, including FIGS. 2-6, and FIG. 10.

FIG. 14 is a timing chart of nodes in the semiconductor memory deviceaccording to the second embodiment. Specifically, FIG. 14 shows thetiming chart during the erase verify in the second embodiment, andrepresents a certain block that is to be erased. The operations of FIG.14 are executed, for example, through a state machine (controller) 10that controls the control registers 6, 7, and 8.

First, the cache UDL is initialized before erase or at least beforeerase verify. Also, the operations until the completion of erase, i.e.the change of the signal erase to a low level at time t20 are the sameas that in the first embodiment. From time t20, verify read will becarried out for the first string Str0. The operations from time t20 tot22 are essentially the same as the operations until time t0 to t3 ofthe first embodiment (FIG. 1). The differences are the fact that thelogic operations shown in FIG. 15 are performed, the fact that the datain cache UDL is used in the logical operations, and the fact that theresults of the logical operations are stored in the cache UDL. Based onthe fact that the cache UDL is being used, the signal UTRS will becomehigh level (valid logic) just before time t22. FIG. 15 illustrates theoutput of the sense amplifier output, the cache UDL and the results ofthe erase verify in second embodiment. In the erase verify read forstring Str0, the cache UDL is in an initialized state and holds the data“1”. As a result of the erase verify read for the string Str (in thecurrent example, string Str0), if the output SAOUT is “0”, the result ofthe logical operations is “1” (pass) as shown in the first row of FIG.15. This result is stored in the corresponding cache UDL. On the otherhand, if the output SAOUT is “1”, the result of the logical operationsis “0” (fail) as shown in the second row. This result is stored in thecorresponding cache UDL. Return to FIG. 14. At time t22, the signal UTRSis set to a low level (invalid logic), then the data of cache UDL willbe fixed.

Next, erase verify read for string Str1 will be carried out, and will beaccumulated with the result for string Str0. The count of the number offail bits for string Str0 is not carried out. This point is in contrastto the first embodiment. For the erase verify read for string Str1,first, the signal evfy continues to maintain a high level even at timet23. Even after time t23, the signal RDEC maintains a high level, andfor this reason, the word line WL maintains the erase verify voltageVevfy. This point is the same as that in the first embodiment. On theother hand, at time t23, the SG lines SGD and SGS become a low level(invalid logic) once. This is for transitioning from a state wherestring Str0 is selected, to a state where string Str1 is selected. Next,the signal STRADD is set to a state in which the string Str1 isselected. This state continues until before time t28.

At time t24, the state machine (controller) 10 makes the SG lines SGDand SGS a high level. Next, the state machine (controller) 10 carriesout erase verify read for the string Str1. The erase verify read forstring Str1, and all the subsequent strings Str, is essentially the sameas that for string Str0, with only different target address.

First, just before time t25, the sense amplifier SA is enabled, and attime t25, the sense result of the sense amplifier SA is fixed, and eachsense amplifier SA outputs its reqult on the signal SAOUT. Next, due tothe fact that the signal UTRS becomes a high level, the data of eachcache UDL is read out, and along with the corresponding output SAOUT, itbecome the targets of the logical operations by the logic circuit L. Thelogical operations are as shown below. As described above, the result(output SAOUT) of erase verify read for a certain string Str isaccumulated to the results of the strings Str in the previous result.Specifically, it is as shown in FIG. 15. The first row of FIG. 15corresponds to the case when the results for the strings Str checkeduntil now have all passed, and the results for the current string havealso a passed. As a result, the value that is stored is “1” (pass). Thesecond row corresponds to the case when the results for all the stringsStr checked until now have all passed, and the results for the currentstring have failed. As a result, the value that is stored is “0” (fail).The third row and fourth row correspond to the case when the result forat least one of the strings Str checked till now is a fail. For thecases of the third row and fourth row, regardless of the result for thecurrent string, the value that is stored will be “0” (fail).

Next, at time t26, the signal UTRS is set to low level and then the dataof cache UDL is fixed. After this, similar to the strings Str0 and Str1,erase verify read is carried out for strings Str2-Str7, and as a result,at time t40, the accumulated result is stored in the cache UDL.

From time t41, the state machine (controller) 10 carries out a count ofthe number of fail bits for the accumulated results of all the stringsStr0-Str7. This count of the number of fail bits is essentially the sameas the count of the number of fail bits for each string of the firstembodiment. That is, at time t41, the signal evfy, SG lines SGD and SGS,word line WL, CG line CG, and signal RDEC become a low level. Also, attime t41, the signals failscan, BITSCAN, and UTRS become a high level(valid logic). As a result, similar to the first embodiment, the numberof fail bits is output as the signal PFBUS.

The verify circuit 5 compares the accumulated number of fail bits(signal PFBUS) with the threshold value F_BSPF ACLU within the signalF_NF. As described above, this threshold value differs from thethreshold value F_BSPF for one string of the first embodiment. If thecount of the string accumulated fail bits is below the threshold value(allowable count), the verify circuit 5 sets a status that indicatespass in the status register 5 b, as shown in FIG. 16. On the other hand,if the count of the string accumulated fail bits is equal to or abovethe threshold value, it sets a status that indicates fail in the statusregister 5 b.

FIG. 17 is a flow chart of the erase operation of the semiconductormemory device pertaining to the second embodiment. Similar to FIG. 14,the flow in FIG. 17 is executed, for example, by a state machine(controller) 10, which controls the control registers 6, 7 and 8.

The flow shown in FIG. 17 is roughly divided into two stages. In thefirst stage, as described by referring to FIG. 14, the result of theaccumulated string erase verify is checked, and the verify results ofthe block average are determined. This type of check is completed at ahigh speed. In the first stage, the steps S31-S34 described later areincluded. In the second stage, the check and re-erase is carried out perstring. This type of check leads to detailed results. In the secondstage, the steps S41-S49 described later are included.

As shown in FIG. 17, in step S31, the state machine (controller) 10initializes the status registers 5 a and 5 b within the verify circuit5. In step S32, the state machine (controller) 10 applies an erase pulseto the block to be erased. Step S32 corresponds to the interval in whichthe signal erase of FIG. 14 is at a high level. In step S33, the statemachine (controller) 10 carries out the accumulated string erase verifyfor all the strings. Step S33 corresponds to the interval in which thesignal evfy of FIG. 14 is at a high level. As described above, Step S33includes read out from the cells, sense, logical operations used by eachsense amplifier output SAOUT and each cache UDL and storing logicoperation result in each cache UDL for the strings Str0-Str7. As aresult of step S33, the result of accumulated string erase verifyStr0-Str7 is stored in the caches UDL.

In step S34, the state machine (controller) 10 checks the result ofaccumulated string erase verify stored in the caches UDL. That is,first, the data that indicates fail or pass from all the caches UDL isoutput as the signal PFBUS. The signal PFBUS holds the number of UDLsthat has failed (accumulated string fail bits count). The verify circuit5 compares the number of accumulated string fail bits with the thresholdvalue F_BSPF ACLU. Step S34 corresponds to the interval in which thesignals failscan or BITSCAN of FIG. 14 are at a high level. If thenumber of the accumulated string fail bits is less than the thresholdvalue, the accumulated string erase verify is a pass and the register 5b in the verify circuit 5 is set to pass status. On the other hand, ifthe accumulated string fail bits is equal to or more than the thresholdvalue, the accumulated string erase verify is a fail and the register 5b in the verify circuit 5 is set to fail status.

When the decision at step S34 is a No, the flow goes to step S36. StepS36 is the same as Step S9 of FIG. 12. In step S36, the state machine(controller) 10 checks as to whether the number of repetitions of theerase and erase verify has exceeded the threshold value (upper limit).If the decision of step S36 is a No, the flow returns to step S32. Ifthe decision of step S36 is a Yes, the flow goes to step S37. Step S37is identical to step S11 of FIG. 12. In step S37, the state machine(controller) 10 sets the data that indicates fail in the status register5 b. Subsequently, the erase ends. The fail status of the statusregister 5 b means that the accumulated string erase verify has failed.

On the other hand, when the decision at step S34 is a Yes, the flow goesto step S39. In step S39, the state machine (controller) 10 checkswhether the erase sequence specifies only high speed erase verify, thatis, only the accumulated string erase verify. This check is carried outthrough, for example, a check of a mode that has been set in advance inthe state machine (controller) 10. When it is the mode in which theerase sequence includes a high speed check only, the flow ends. On theother hand, when it is the mode in which the erase sequence includes adetailed check, the flow goes to the second stage. The second stagestarts from step S41. The second stage is essentially the same as thefirst embodiment, and erase verify is carried out for each string. Thatis, steps S41-S50 are the same as the steps S2-S11 of FIG. 12,respectively.

In step S41, the state machine (controller) 10 applies an erase pulse tothe block to be erased. In step S42, the state machine (controller)initializes the parameter N to 0. In step S43, the state machine(controller) 10 carries out erase verify read for the string StrN thatis specified. Step S43, as described above, includes read out of datafrom the cells, sense, logical operations with each of the senseamplifier outputs SAOUT and the data within the corresponding cachesLDL, and storage of the logical operations results to each of the cachesLDL.

In step S44, the state machine (controller) 10 counts the number of failbits for the string StrN. In step S45, the state machine (controller) 10compares the number of fail bits with the threshold value F_BSPF. StepsS44 and S45 include output of the number of fail bits to the signalPFBUS, comparison of the number of fail bits with the threshold value,storage of the comparison result to the status 5 a.

If the result of step S45 is a Yes, in step S46, the state machine(controller) 10 determines whether the string Str for which erase verifyis carried out in S43 is the last string or not. If the decision at stepS46 is a Yes, the flow ends, and if it is a No, then in step S47, thestate machine (controller) 10 increments N by 1. After step S47, theflow returns to step S43.

When the decision at step S45 is a No, in step S48, the state machine(controller) 10 checks as to whether the number of repetitions of theerase and erase verify has exceeded the threshold value (upper limit).When the number of repetitions has not exceeded the upper limit, in stepS49, the state machine (controller) 10 prepares to reapply the erasepulse towards the block to be erased, and subsequently the flow returnsto step S41. When the decision at step S48 is a Yes, in step S50, thestate machine (controller) 10 sets the data that indicates fail in thestatus register 5 a.

As described above, according to the second embodiment, the result ofthe erase verify for each string is accumulated across multiple strings,and fail or pass is determined for this accumulated result. In the caseof the check and re-erase per string as in the prior technique, re-eraseis carried out each time a string has failed, and the fail check andre-erase are repeated. If erase verify per string is omitted and if onlyaccumulated string erase verify is carried out, it is possible tocomplete erase operation at a high speed.

Also, for example, because of defects in manufacturing or degradation ina string, fail check and re-erase will become to be repeated many timeswhen erase command is issued. Furthermore, when a certain block includesmultiple strings that repeatedly fail checks, the above mentioned failand re-erase set will be repeated for the block to be erased. Incontrast, according to the second embodiment, before carrying out verifyper string for the multiple strings that repeatedly fail checks, it ispossible to find the blocks that include such strings. This leads to ashortening of erase busy time.

The flow of the second embodiment can also be as in FIG. instead of FIG.17. FIG. 18 is a flow chart of a first modification example of the eraseoperation of the semiconductor memory device pertaining to the secondembodiment. As shown in FIG. 18, when the decision at step S36 is a Yes,the flow goes to step S39 via step S37. That is, when the stringaccumulated erase verify is a fail and the number of repetitions oferase exceeds the upper limit, it goes to erase verify per string.According to the first modification example, when the erase pulseapplication and erase verify are carried out multiple times, thepossibility of erase verify fail in all strings is high at early time oferase verify. After the accumulated string erase verify has passed, ifit goes to erase verify for each string, it is possible to shorten theoverall time taken for erase verify.

It is also acceptable if the second embodiment is combined with thefirst embodiment and is as in FIG. 19. FIG. 19 is a flow chart of thesecond modification example of the erase operation of the semiconductormemory device pertaining to the second embodiment. From step S1 to stepS11 are identical to FIG. 12. However, in step S1, as described withreference to step S1 of FIG. 12 in addition to the status register 5 a,the status register 5 b is also initialized.

In S6, when it is determined that the erase verify of a certain stringStrN is a fail and the number of repetitions of the erase and eraseverify has exceeded the threshold value (upper limit), the flow goes tostep S11. In step S11, in order to indicate a fail of erase verify forstring, the state machine (controller) 10 sets the data that indicatesfail in the status register 5 a. The point that the flow does not go toend step is different from the first embodiment.

In this example, it goes from erase verify for each string to theaccumulated string erase verify.

More specifically, the flow goes from step S11 to step S33. In step S33,the state machine (controller) 10 carries out the accumulated stringerase verify read. As a result of step S33, the result of erase verifyread is stored in the caches UDL. Step S33 includes the operations fromtime t20 to time t41 of FIG. 14.

Next, in step S34, the state machine (controller) 10 checks theaccumulated string erase verify result within the caches UDL. When thedecision at step S34 is a Yes, the erase ends. On the other hand, whenthe decision at step S34 is a No, the flow goes to step S37. In stepS37, the state machine (controller) 10 sets the data that indicates failin the status register 5 b.

In the second modification example, the following advantages can beobtained. When a block has multiple strings with, for example, defectsin manufacturing or degradation, the erase verify of the given stringdoes not pass, and the erase verify fail and re-erase for each stringare repeated. Moreover, since the block that includes such a fewdefected strings is recognized as a failure block, the user can not useall strings in a block. In the second example, in erase verify for eachstring even if a certain string is always a fail, erase does not end,and the accumulated string erase verify is carried out. As a result,rather than the check of each string, fail bits information averagedacross the block to be erased is collected, and it becomes possible toknow the summarized erase results of the block at a high speed. Thisfact contributes to the improvement of the convenience of thesemiconductor memory device 100.

Third Embodiment

The third embodiment is related to a semiconductor storage system thatincludes the semiconductor memory device of the second embodiment, andits controller.

FIG. 20 shows a semiconductor storage system 300 pertaining to the thirdembodiment. As shown in FIG. 20, the semiconductor storage system 300includes the semiconductor memory device 100 pertaining to the secondembodiment, and the controller 200. The semiconductor memory device 100communicates with the controller 200.

The controller 200 includes hardware and software related to operationof the semiconductor memory device 100. The controller 200 generates thechip enable signal CEnx, write enable signal WEnx, read enable signalREnx, command latch enable signal CLEx, address latch enable signalALEx, write protect signal WPnx, and gives these to the semiconductormemory device 100. Also, the controller 200 generates signals such asaddress, command, data etc., and gives these to the semiconductor memorydevice 100 via the bidirectional bus IOx<7:0>. The semiconductor memorydevice 100 gives data to the controller 200 via the bidirectional busIOx<7:0>. Depending on the need, a means by which the semiconductormemory device 100 notifies indications that the operations such aserase, etc. are complete, to the controller 200 may also be provided.The controller 200 communicates with the host device 400.

Upon receiving the signals CMD_STATUS and CMD_STATUS_STR, as displayedin FIG. 13 and as described by referring to FIG. 13, the command decoder13 supplies these signals to the select circuit 18. Upon receiving thesignal CMD_STATUS, the select circuit 18 supplies the signal STATUS fromthe status register 5 a to the output buffer. On the other hand, uponreceiving the signal CMD_STATUS_STR, the select circuit 18 supplies thesignal STATUS_STR from the status register 5 b to the output buffer 17.The output buffer 17 outputs the received signal STATUS or STATUS_STRfrom the semiconductor memory device 100, on to the bidirectional bus IOx<7:0>. This signal is received by the controller 200, and is receivedwithin the controller 200, for example, by a module that manages theentire controller. The module uses the received signal to determine thesubsequent operations. The module is formed, for example, from softwareor hardware, or a combination of both.

In this embodiment, the decision as to whether or not a transitionshould happen to erase verify for each string after the accumulatedstring erase verify is entrusted to the determination of the controller200. This point is in contrast with the second embodiment.

With reference to FIG. 21, the operations of the semiconductor storagesystem of the third embodiment are described. FIG. 21 is a drawing thatshows the tasks of the erase operation of the semiconductor storagesystem pertaining to the third embodiment. Time elapses from the toptowards the bottom of the drawing. The processes and decisions of thecontroller 200 are mentioned on the left hand side of the figure, andthe processes and operations of the semiconductor memory device 100 arementioned on the right hand side of the figure. The arrows indicate theflow of commands or data.

As shown in FIG. 21, the controller 200 issues a command instructing theexecution of the erase operation in the semiconductor memory device 100(Task T1). The erase command includes instructions to execute theaccumulated string erase verify, and additionally instructions ofwhether or not to carry out erase verify for each string simultaneously.For example, when shortening of the time taken for erase is required,the controller 200 gives a command that erase verify for each string isnot to be carried out. When the result of erase verify for each stringis also necessary along with that of the accumulated string eraseverify, the controller 200 gives a command that erase verify for eachstring is also to be carried out. The semiconductor memory device 100carries out erase and erase verify based on the contents of the command(task T2). Erase verify includes the accumulated string erase verify,and depending on the situation, erase verify for each string. Thesemiconductor memory device 100 notifies an indication erase complete iferase is completed, to the controller 200.

Next, the controller 200 issues a status read command to get the resultof the accumulated string erase verify (Task T3). Upon receiving thecommand, the semiconductor memory device 100, activates the signalCMD_STATUS_STR, and outputs the status signal STATUS_STR from the statusregister 5 b to the controller 200, through the bidirectional busIOx<7:0> (Task T4). When the erase command also includes the executionof erase verify for each string, the semiconductor memory device 100,activates the signal CMD_STATUS, and outputs the status signal STATUSfrom the status register 5 a to the controller 200, through thebidirectional bus IOx<7:0>.

Upon receiving the status signal, the controller 200 decides theoperations that must be performed next on the basis of this signal (taskT5). An example of the combination of the information received by thecontroller 200 and the results of verify are shown in FIG. 22. When theaccumulated string erase verify and erase verify for each string arecarried out, and when the status STATUS and the status STATUS_STR areboth pass, it implies that the block erase has passed. Hence, ingeneral, the controller 200 does not need to acquire additionalinformation, and carry out additional operations related to the eraseoperation. Therefore, the controller 200 can transition to arbitraryoperations such as execution of other tasks from the host device 400,etc.

On the other hand, when the status STATUS is a fail and the statusSTATUS_STR is a pass, this indicates that there are strings that hasfails equal or more than the permissible number in a specific string ofa block to be erased. In this case, if there is room in the storagecapacity of the semiconductor memory device 100, the controller 200 candetermine the fact that the block to be erased is a block erase fail.Alternately, it is possible for the controller 200 to select methodssuch as acquiring additional information, for example, to search forusable areas excluding the specific string, etc.

Also, when the status STATUS_STR is a fail, in most cases, it isdetermined that it is a block erase fail. In such a case and when theerase command does not include instructions to also carry out the eraseverify for each string, it is possible for the controller 200 to selecta method in which information is acquired additionally, to search forusable areas (strings) within the block that has been determined asfailed. For this additional search, the controller 200 issues a commandto execute erase verify for a specific string StrN, to the semiconductormemory device 100 (task T6). If the semiconductor memory device 100receives the command, it carries out erase verify for 1 string StrN(task T7). This erase verify has the flow shown in FIG. 23. The flow ofFIG. 23 corresponds to some portions of the flow of FIG. 12, and differsfrom the flow of FIG. 12 in the point that erase verify is carried outonly for string StrN. Specifically, the steps S1, S4, S5, and S6 arecarried out, and if the decision at step S6 is a Yes, the flow ends, andif it is a No, step S11 is carried out. Subsequently, the semiconductormemory device 100 stores the results of verify to the register 5 a, andat the same time, notifies the completion of erase verify for the stringStrN to the controller 200.

Return to FIG. 21. Upon receiving the notification, the controller 200issues a command to acquire the status information of erase verify forthe string N, to the semiconductor memory device 100 (task T8). Uponreceiving the command, the semiconductor memory device 100 activates thesignal CMD_STATUS, and outputs the status signal STATUS from the statusregister 5 a to the controller 200, through the bidirectional bus IOx<7:0> (task T9).

In accordance with the status information received, the controller 200updates the string failure information table being maintained within thecontroller. Specifically, if the erase verify for the string StrN is apass, the controller 200 recognizes that a block is failed but some ofstrings in the block are passed. Then, it maintains this kind ofinformation in the string failure information table. The string failureinformation table, for example, is maintained in the volatile ornonvolatile memory within the controller 200. The controller 200 treatsthe usable areas (strings) as areas (strings) without specialclassification, or treats them as strings in which may find failure. Itdepends on the design of semiconductor storage system 300 how treatthem. On the other hand, if the erase verify for the string StrN is afail, the controller 200 decides that a block that includes string StrNhas failed. Then the contoller 200 does not access it.

As explained above, the semiconductor memory device 100 carries out anaccumulated string erase verify, erase verify for each string, and onestring erase verify corresponding to the commands received fromexternal, and outputs status signals STATUS and STATUS_STR, according tothe third embodiment. These series of the operations relating to theacquirement of various verify and status information are not theautomatic operation of the semiconductor memory device 100, but areconducted under the control by and command from the controller 200.Therefore, the possibility of carrying out a fine control andunderstanding a fine status can be offered, and it is possible to useerase failure blocks that conventionally must be made to an erase fail,and the way to use storage area effectively is provided. What is more,this can be run at a short period of time. The semiconductor memorydevice 100 should just prepare various erase verify, the selection ofvarious erase verify is in the controller. For this reason, thesemiconductor memory device 100 can provide flexibility in terms ofusage patterns.

While certain embodiments have been described, these embodiments havebeen presented by way of example only, and are not intended to limit thescope of the inventions. Indeed, the novel embodiments described hereinmay be embodied in a variety of other forms; furthermore, variousomissions, substitutions and changes in the form of the embodimentsdescribed herein may be made without departing from the spirit of theinventions. The accompanying claims and their equivalents are intendedto cover such forms or modifications as would fall within the scope andspirit of the inventions.

Structure of the memory cell array 1 is not limited as abovedescription. A memory cell array formation may be disclosed in U.S.patent application Ser. No. 12/532,030 filed on Mar. 23, 2009. U.S.patent application Ser. No. 12/532,030, the entire contents of which areincorporated by reference herein.

Furthermore A memory cell array formation may be disclosed in U.S.patent application Ser. No. 12/679,991 filed on Mar. 25, 2010. U.S.patent application Ser. No. 13/236,734, the entire contents of which areincorporated by reference herein.

(Additional Statement)

Note 1. A semiconductor memory device, comprising:

a memory block including a plurality of memory strings each stringincluding a plurality of memory cell transistors connected in serieswith a first selection transistor on a first end and a second selectiontransistor on a second end, the plurality of memory strings including afirst memory string and a second memory string;

a first bit line connected to the first selection transistor of thefirst memory string and the first selection transistor of the secondmemory string;

a sense amplifier connected to the first bit line;

a plurality of word lines, each word line connected to a memory celltransistor in each memory string; and

a controller configured to control an erase operation of the memoryblock, wherein the erase operation includes:

applying a first erase voltage to the plurality of word lines;

addressing the first memory string by applying a selection voltage to agate electrode of the first and second selection transistor of the firstmemory string;

applying an erase verify voltage to the plurality of word lines andreading data of memory cell transistors in the first memory string usingthe sense amplifier; and

addressing the second memory string without first discharging theplurality of word lines.

Note 2. The semiconductor memory device of note 1, wherein the eraseoperation including a step for applying an erase voltage and an eraseverify and a controller is configured to make an enable signal for thesense amplifier twice during the erase verify for both a first memorystring and a second memory string.Note 3. The semiconductor memory device of note 1, wherein thecontroller is configured to carry out an erase verify for each memorystring and to store results of the erase verify for each memory stringin a first cache.Note 4. The semiconductor memory device of note 2, wherein thecontroller is configured to carry out the erase verify for each memorystring and to store results of erase verify for each memory string in afirst cache.Note 5. The semiconductor memory device of note 1, wherein thecontroller is configured to carry out an accumulated string erase verifyfor all memory strings, and the controller is configured to determinewhether a memory string passed or failed the erase verify based on aresult of the accumulated string erase verify.Note 6. The semiconductor memory device of note 1, wherein the senseamplifier includes a logic circuit configured to determine whether amemory string passed or failed an erase verify based on a result of theerase verify corresponding to a first memory string and a result of theerase verify corresponding to a second memory string, the first memorystring being different from the second memory string.Note 7. The semiconductor memory device of note 3, wherein the senseamplifier includes a logic circuit configured to determine whether amemory string passed or failed the erase verify based on a result of theerase verify corresponding to a first memory string and a result of theerase verify corresponding to a second memory string, the first memorystring being different from the second memory string.Note 8. The semiconductor memory device of note 4, wherein the senseamplifier includes a logic circuit configured to determine whether amemory string passed or failed the erase verify based on a result of theerase verify corresponding to a first memory string and a result of theerase verify corresponding to a second memory string, the first memorystring being different from the second memory string.Note 9. The semiconductor memory device of note 6, wherein the senseamplifier includes a second cache for storing the output of the logiccircuit.Note 10. The semiconductor memory device of note 8, wherein the senseamplifier includes a second cache for storing the output of the logiccircuit.Note 11. The semiconductor memory device of note 1, further comprising averify circuit, the verify circuit including a first registor and asecond registor, the first registor being capable of holding a firstdata indicated whether an erase verify for each string has passed, thesecond registor being capable of holding a second data indicated whetheran accumulated string erase verify has passed.Note 12. The semiconductor memory device of note 10, further comprisinga verify circuit, the verify circuit including a first registor and asecond registor, the first registor being capable of holding a firstdata indicated whether the erase verify for each string has passed, thesecond registor being capable of holding a second data indicated whetheran accumulated string erase verify has passed.Note 13. The semiconductor memory device of note 11, further comprisinga output buffer, the output buffer outputting the first data or thesecond data based on an instruction from outside.Note 14. The semiconductor memory device of note 12, further comprisinga output buffer, the output buffer outputting the first data or thesecond data based on an instruction from outside.Note 15. The semiconductor memory device of note 14, wherein thecontroller is configured to carry out the erase verify for each memorystring based on a first signal and to carry out the accumulated stringerase verify for all memory string based on a second signal, the firstsignal being different from the second signal.Note 16. A memory system, comprising:

a memory block including a plurality of memory strings each stringincluding a plurality of memory cell transistors connected in serieswith a first selection transistor on a first end and a second selectiontransistor on a second end, the plurality of memory strings including afirst memory string and a second memory string;

a first bit line connected to the first selection transistor of thefirst memory string and the first selection transistor of the secondmemory string;

a sense amplifier connected to the first bit line;

a plurality of word lines, each word line connected to a memory celltransistor in each memory string;

a controller configured to control an erase operation of the memoryblock, wherein the erase operation includes:

-   -   applying a first erase voltage to the plurality of word lines;    -   addressing the first memory string by applying a selection        voltage to a gate electrode of the first and second selection        transistor of the first memory string;    -   applying an erase verify voltage to the plurality of word lines        and reading data of memory cell transistors in the first memory        string using the sense amplifier; and    -   addressing the second memory string without first discharging        the plurality of word lines;

wherein the controller is configured to carry out an accumulated stringerase verify for all memory strings, and the controller is configured todetermine whether a memory string passed or failed the erase verifybased on a result of the accumulated string erase verify.

Note 17. The memory system of note 16, wherein the erase operationincluding a step for applying an erase voltage and an erase verify and acontroller is configured to make an enable signal for the senseamplifier twice during the erase verify.

Note 18. A method of controlling a memory device including a memoryblock with a plurality of memory strings each string including aplurality of memory cell transistors connected in series with a firstselection transistor on a first end and a second selection transistor ona second end, the plurality of memory strings including a first memorystring and a second memory string, a first bit line connected to thefirst selection transistor of the first memory string and the firstselection transistor of the second memory string, a sense amplifierconnected to the first bit line, a plurality of word lines, each wordline connected to a memory cell transistor in each memory string, and acontroller, the method comprising:

applying a first erase voltage to the plurality of word lines;

addressing the first memory string by applying a selection voltage to agate electrode of the first and second selection transistor of the firstmemory string;

applying an erase verify voltage to the plurality of word lines andreading data of memory cell transistors in the first memory string usingthe sense amplifier; and

addressing the second memory string in the memory block without firstdischarging the plurality of word lines.

What is claimed is:
 1. A method for operating a semiconductor memorydevice that comprises: a memory block including a first memory stringand a second memory string, the first memory string including a firstselection transistor, a first memory cell, and a second memory cell, andthe second memory string including a second selection transistor, athird memory cell, and a fourth memory cell; a first bit line connectedto the first memory string and the second memory string; a first selectgate line connected to a gate of the first selection transistor; asecond select gate line connected to a gate of the second selectiontransistor; a first word line connected to a gate of the first memorycell and a gate of the third memory cell; and a second word lineconnected to a gate of the second memory cell and a gate of the fourthmemory cell, said method comprising: performing an erase operation onthe first memory cell, the second memory cell, the third memory cell,and the fourth memory cell; after the erase operation, performing afirst verify operation on the first memory cell with a first verifyvoltage applied to the first word line and on the second memory cellwith a second verify voltage applied to the second word line; and afterthe first verify operation, performing a second verify operation on thethird memory cell with the first verify voltage applied to the firstword line kept un-discharged from a time of the first verify operationand on the fourth memory cell with the second verify voltage applied toat the second word line kept un-discharged from the time of the firstverify operation.
 2. The method of claim 1, wherein the semiconductormemory device further includes a sense amplifier connected to the firstbit line, and an enable signal is applied to the sense amplifier atleast twice during the first verify operation and the second verifyoperation.
 3. The method of claim 2, wherein the sense amplifierincludes a logic circuit configured to determine whether the firstmemory string passed or failed the first verify operation and whetherthe second memory string passed or failed the second verify operation.4. The method of claim 3, wherein the semiconductor memory devicefurther includes a first cache configured to store results of the firstverify operation and the second verify operation, and the senseamplifier includes a second cache configured to store a determinationresult of the logic circuit.
 5. The method of claim 1, furthercomprising: storing results of the first verify operation and the secondverify operation in a cumulative manner.
 6. The method of claim 5,further comprising: suspending the first verify operation and the secondverify operation when a cumulative number of failures is greater than orequal to a given number.
 7. The method of claim 1, wherein each of thefirst verify operation and the second verify operation includes multipleloops of a sequence of sub verify operations performed for acorresponding one of the first memory string and the second memorystring.
 8. A method for operating a semiconductor memory device thatcomprises: a memory block including first, second, third, fourth, fifth,sixth, seventh, and eighth memory strings, the first memory stringincluding a first selection transistor, a first memory cell, and asecond memory cell, the second memory string including a secondselection transistor, a third memory cell, and a fourth memory cell, thethird memory string including a third selection transistor, a fifthmemory cell, and a sixth memory cell, the fourth memory string includinga fourth selection transistor, a seventh memory cell, and an eighthmemory cell, the fifth memory string including a fifth selectiontransistor, a ninth memory cell, and a tenth memory cell, the sixthmemory string including a sixth selection transistor, an eleventh memorycell, and a twelfth memory cell, the seventh memory string including aseventh selection transistor, a thirteenth memory cell, and a fourteenthmemory cell, and the eighth memory string including an eighth selectiontransistor, a fifteenth memory cell, and a sixteenth memory cell; afirst bit line connected to the first, second, third, fourth, fifth,sixth, seventh, and eighth memory strings; a first select gate lineconnected to a gate of the first selection transistor; a second selectgate line connected to a gate of the second selection transistor; athird select gate line connected to a gate of the third selectiontransistor; a fourth select gate line connected to a gate of the fourthselection transistor; a fifth select gate line connected to a gate ofthe fifth selection transistor; a sixth select gate line connected to agate of the sixth selection transistor; a seventh select gate lineconnected to a gate of the seventh selection transistor; an eighthselect gate line connected to a gate of the eighth selection transistor;a first word line connected to gates of the first, third, fifth,seventh, ninth, eleventh, thirteenth, and fifteenth memory cells; and asecond word line connected to gates of the second, fourth, sixth,eighth, tenth, twelfth, fourteenth, and sixteenth memory cells, saidmethod comprising: performing an erase operation on the first, second,third, fourth, fifth, sixth, seventh, eighth, ninth, tenth, eleventh,twelfth, thirteenth, fourteenth, fifteenth, and sixteenth memory cells;after the erase operation, performing a first verify operation on thefirst memory cell with a first verify voltage applied to the first wordline and on the second memory cell with a second verify voltage appliedto the second word line; after the first verify operation, performing asecond verify operation on the third memory cell with the first verifyvoltage applied to the first word line unchanged and on the fourthmemory cell with the second verify voltage applied to the second wordline unchanged; after the second verify operation, performing a thirdverify operation on the fifth memory cell with the first verify voltageapplied to the first word line unchanged and on the sixth memory cellwith the second verify voltage applied to the second word lineunchanged; after the third verify operation, performing a fourth verifyoperation on the seventh memory cell with the first verify voltageapplied to the first word line unchanged and on the eighth memory cellwith the second verify voltage applied to the second word lineunchanged; after the fourth verify operation, performing a fifth verifyoperation on the ninth memory cell with the first verify voltage appliedto the first word line unchanged and on the tenth memory cell with thesecond verify voltage applied to the second word line unchanged; afterthe fifth verify operation, performing a sixth verify operation on theeleventh memory cell with the first verify voltage applied to the firstword line unchanged and on the twelfth memory cell with the secondverify voltage applied to the second word line unchanged; after thesixth verify operation, performing a seventh verify operation on thethirteenth memory cell with the first verify voltage applied to thefirst word line unchanged and on the fourteenth memory cell with thesecond verify voltage applied to the second word line unchanged; andafter the seventh verify operation, performing an eighth verifyoperation on the fifteenth memory cell with the first verify voltageapplied to the first word line unchanged and on the sixteenth memorycell with the second verify voltage applied to the second word lineunchanged.
 9. The method of claim 8, wherein the semiconductor memorydevice further includes a sense amplifier connected to the first bitline, and an enable signal is applied to the sense amplifier at leasttwice during the first verify operation and the second verifyoperations.
 10. The method of claim 9, wherein the sense amplifierincludes a logic circuit configured to determine whether the firstmemory string passed or failed the first verify operation and whetherthe second memory string passed or failed the second verify operation.11. The method of claim 10, wherein the semiconductor memory devicefurther includes a first cache configured to store results of the firstverify operation and the second verify operation, and the senseamplifier includes a second cache configured to store a determinationresult of the logic circuit.
 12. The method of claim 8, furthercomprising: storing results of the first verify operation and the secondverify operation in a cumulative manner.
 13. The method of claim 12,further comprising: suspending the first verify operation and the secondverify operation when a cumulative number of failures is greater than orequal to a given number.
 14. The method of claim 8, wherein each of thefirst verify operation and the second verify operation includes multipleloops of a sequence of sub verify operations performed for acorresponding one of the first, second, third, fourth, fifth, sixth,seventh, and eighth memory strings.